package com.ruoyi.zhgd.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;


/**
 * 张拉结果视图对象 tension_result
 *
 * @author zyb
 * @date 2023-09-11
 */
@Data
@ExcelIgnoreUnannotated
public class TensionResultVo {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private String id;

    /**
     * 记录编号
     */
    @ExcelProperty(value = "记录编号")
    private String code;

    /**
     * 设备编号
     */
    @ExcelProperty(value = "设备编号")
    private String deviceCode;

    /**
     * 张拉的孔号
     */
    @ExcelProperty(value = "张拉的孔号")
    private String holeNumber;

    /**
     * 张拉操作的时间
     */
    @ExcelProperty(value = "张拉操作的时间")
    private Date tensioningTime;

    /**
     * 张拉的断面信息
     */
    @ExcelProperty(value = "张拉的断面信息")
    private String tensioningSection;

    /**
     * 记录点的编号
     */
    @ExcelProperty(value = "记录点的编号")
    private String measurementPoint;

    /**
     * 张拉操作的初始行程
     */
    @ExcelProperty(value = "张拉操作的初始行程")
    private String initialStroke;

    /**
     * 张拉操作的第一行程
     */
    @ExcelProperty(value = "张拉操作的第一行程")
    private String firstStroke;

    /**
     * 张拉操作的第二行程
     */
    @ExcelProperty(value = "张拉操作的第二行程")
    private String secondStroke;

    /**
     * 张拉操作的第三行程
     */
    @ExcelProperty(value = "张拉操作的第三行程")
    private String thirdStroke;

    /**
     * 张拉操作的第四行程
     */
    @ExcelProperty(value = "张拉操作的第四行程")
    private String fourthStroke;

    /**
     * 张拉操作的实测结论
     */
    @ExcelProperty(value = "张拉操作的实测结论")
    private String measuredConclusion;

    /**
     * 张拉操作的设计张力
     */
    @ExcelProperty(value = "张拉操作的设计张力")
    private Double designTension;

    /**
     * 张拉操作的设计伸长量
     */
    @ExcelProperty(value = "张拉操作的设计伸长量")
    private Double designExtension;

    /**
     * 张拉操作的总伸长量
     */
    @ExcelProperty(value = "张拉操作的总伸长量")
    private Double totalExtension;

    /**
     * 延伸量的误差
     */
    @ExcelProperty(value = "延伸量的误差")
    private Double extensionError;

    /**
     * 超过设计张力的百分比
     */
    @ExcelProperty(value = "超过设计张力的百分比")
    private Double overTensionPercentage;

    /**
     * 回缩的量（以毫米为单位）
     */
    @ExcelProperty(value = "回缩的量", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "以=毫米为单位")
    private Integer shrinkageAmount;

    // 两自由端回缩量及工作段伸长值之和（mm）= 两端回缩量之和
    private Integer shrinkageAmountSum;

    /**
     * 张拉操作的持荷时间（以秒为单位）
     */
    @ExcelProperty(value = "张拉操作的持荷时间", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "以=秒为单位")
    private Integer holdingTime;

    /**
     * 记录的时间
     */
    @ExcelProperty(value = "记录的时间")
    private Date recordTime;

    /**
     * 记录的状态
     */
    @ExcelProperty(value = "记录的状态")
    private String status;

    /**
     * 梁号
     */
    @ExcelProperty(value = "梁号")
    private String beamNo;

    /**
     * 砼设计值（MPA）
     */
    @ExcelProperty(value = "砼设计值（MPA）")
    private BigDecimal concreteDesign;

    /**
     * 砼强度（MPA）
     */
    @ExcelProperty(value = "砼强度（MPA）")
    private BigDecimal concreteStrength;

    private String linkCode;

    @ExcelProperty(value = "设备名称")
    private String deviceName;

    @ExcelProperty(value = "梁场名称")
    private String instrumentManufacturer;

    @ExcelProperty(value = "所属单位名称")
    private String deptName;

    /**
     * 每束钢材长度
     */
    private String holeLen;

    /**
     * 滑断丝数
     */
    private String hdsNumber;
    /************************报表属性****************************/

    // 初始张拉
    private String cszl;
    // 张拉30
    private String cszl30;
    // 张拉100
    private String cszl100;
    // 初始设计张拉
    private String cssjzl;
    // 设计张拉30
    private String sjzl30;
    // 设计张拉100
    private String sjzl100;
    // 初始油压
    private String csyy;
    // 第一油压
    private String yy30;
    // 第四油压
    private String yy100;
    // 初始伸长
    private String cssc;
    // 第一伸长
    private String sc30;
    // 第四伸长
    private String sc100;
    // 每束钢材长度
    private String singleLen;
    // 伸长率百分比
    private Double extensionRateVal;
    // 伸长率 = [(总伸长值1+ 总伸长值2）-设计伸长值*2]/ 设计伸长值*2 同一个孔号的加起来
    private String extensionRate;
    private List<Double> designExtensions;
    private List<Double> totalExtensions;
    private List<Integer> shrinkageAmounts;

    /***************record表*****************/
    /**
     * 张拉梁型
     */
    @ExcelProperty(value = "张拉梁型")
    private String beamType;

    /**
     * 桩号
     */
    @ExcelProperty(value = "桩号")
    private String stake;

    /**
     * 开始张拉时间
     */
    @ExcelProperty(value = "开始张拉时间")
    private Date tensionTime;

    /**
     * 张拉人员
     */
    @ExcelProperty(value = "张拉人员")
    private String tensionUser;

    /**
     * 起拱度
     */
    @ExcelProperty(value = "起拱度")
    private Long deflectionUpwards;

    /**
     * 张拉加载速度
     */
    @ExcelProperty(value = "张拉加载速度")
    private Long loadingSpeed;

    /**
     * 张拉加载初应力
     */
    @ExcelProperty(value = "张拉加载初应力")
    private Long tensileStress;

    /**
     * 工地名称
     */
    @ExcelProperty(value = "工地名称")
    private String baseCode;


    /**
     * 是否合格的状态1合格0不合格
     */
    @ExcelProperty(value = "是否合格的状态1合格0不合格")
    private String recStatus;

}
